install.packages('chronicle')Este paquete permite crear atractivos archivos R Markdown html, con widgets interactivos como gráficos de plotly, series de tiempo de dygraphs y tablas DataTables. chronicle está constuido en un paradigma de capas, que le será familiar e intuitivo a cualquier usuario de {ggplot} o {tensorflow} en R.
¿Por qué un paradigma de capas?
Un paradigma de capas provee facilidad, potencia y flexibilidad al flujo de trabajo. Permite a principiantes aprender una funcionalidad a la vez, y permite a personas más experimentadas trabajar con construcciones robustas y complejas.
Los reportes R markdown ya son modulares! chronicle nace de reconocer un archivo R Markdown como una sucesión de pequeños módulos de código y texto
¿Cómo usar chronicle?
Crear archivos R Markdown a través de las funciones add_*
library(chronicle)
reporte_nuevo <- add_title(title = 'Así se ve un reporte de chronicle', title_level = 1) %>%
add_density(dt = iris, groups = 'Species', value = 'Sepal.Length', faceted = F) %>%
add_boxplot(dt = iris, groups = 'Species', value = 'Sepal.Length') %>%
add_barplot(dt = iris, bars = 'Species', value = 'Sepal.Length') %>%
add_table(table = head(iris),
table_title = 'La famosa tabla iris, en una tabla de kable',
html_table_type = 'kable') %>%
add_table(table = ggplot2::mpg[],
table_title = 'Y esta es mpg de ggplot2, en una tabla DataTable',
html_table_type = 'DT')
cat(reporte_nuevo)##
##
## # Así se ve un reporte de chronicle
##
## ## Distribution of Sepal.Length by Species
## ```{r, echo = FALSE, message = FALSE, warning = FALSE}
## make_density(dt = iris, value = 'Sepal.Length', groups = 'Species', faceted = 'FALSE', scales = 'fixed')
## ```
##
## ## Distribution of Sepal.Length by Species
## ```{r, echo = FALSE, message = FALSE, warning = FALSE}
## make_boxplot(dt = iris, value = 'Sepal.Length', groups = 'Species', jitter = 'TRUE')
## ```
##
## ## Sepal.Length by Species
## ```{r, echo = FALSE, message = FALSE, warning = FALSE}
## make_barplot(dt = iris, bars = 'Species', value = 'Sepal.Length', horizontal = 'FALSE', sort_by_value = 'FALSE', sort_decreasing = 'TRUE', ggtheme = 'minimal')
## ```
##
## ## La famosa tabla iris, en una tabla de kable
##
## ```{r, echo = FALSE, message = FALSE, warning = FALSE}
## knitr::kable(head(iris))
## ```
##
## ## Y esta es mpg de ggplot2, en una tabla DataTable
##
## ```{r, echo = FALSE, message = FALSE, warning = FALSE}
## DT::datatable(ggplot2::mpg[])
## ```
Las llamadas de las funciones make_*
Para (casi) cada funcion add_, existe una función make_. Estas son las funciones que realmente crean los gráficos con todas sus especificaciones.
make_barplot(dt = ggplot2::mpg,
value = 'cty',
bars = 'manufacturer',
break_bars_by = 'model',
horizontal = TRUE,
sort_by_value = TRUE)Estas funciones se pueden llamar independientemente y agregar a reportes ya existentes, aplicaciones Shiny o cualquier otro lugar donde se pueda montar un gráfico html. Actualmente, chronicle tiene make_barplot, make_boxplot, make_density, make_dygraph, make_histogram, make_lineplot, make_scatterplot y make_violin.
Compilación del R Markdown
La función render_report() se encarga de construir el encabezado en yaml y de hacer la compilación del archivo directamente desde el ambiente global, es decir, con todos los objetos que se hayan cargado en memoria al momento de llamar la función. Aquí se pueden seleccionar varios formatos distintos e incluso compilar en varios formatos desde una misma llamada, y el parámetro keep_rmd permite conservar el (los) archivo(s) R Markdown.
render_report(filename = 'conectaR2021',
title = 'Demo de chronicle',
author = 'Philippe Heymans Smith @pheymanss',
output_format = c('prettydoc', 'ioslides'),
keep_rmd = TRUE,
render_html = TRUE,
table_of_content = FALSE,
number_sections = FALSE,
highlight = 'vignette')¿Qué sigue para chronicle?
- Pulir otros tipos de salida: bookdown, pagedown, flexdashboard, blogdown.
- Agregar gráficos nuevos y parámetros adicionales para los existentes.
- Otros motores de gráficos interactivos: ggiraph, e_charts, highcharter*, D3 (!).